junior software developer tips